package com.hnas.account.service;

import com.hnas.account.orm.Account;
import com.hnas.common.outdto.DTOTokenChecked;

public interface AccountService {

	/**
	 * 保存或修改
	 * @param dto
	 * @return
	 * @throws Exception
	 */
	Account saveOrUpdate(Account dto) throws Exception;
	
	/**
	 * 校验token是否有效
	 * @param dto
	 * @return
	 */
	String checkedToken(DTOTokenChecked dto);
	/**
	 * 通过openid查询用户信息
	 * @param openId
	 * @return
	 */
	Account findByOpenId(String openId);
	/**
	 * 通过id查询用户信息
	 * @param id
	 * @return
	 */
	Account findById(String id);
	/**
	 * 通过电话号码查找用户信息
	 * @param phoneNo
	 * @return
	 */
	Account findByPhoneNo(String phoneNo);
	/**
	 * 解绑openid
	 * @param openId
	 */
	void unBindOpenid(String openId);
	
	void unBindAndBindAndUpdateTimeBack(String unBindOpenId,String updateTime,String accountId);
	
	void unBindAccountById(String accountId);
	
	void updateOpenIdAndTime(String id,String openId,String updateTime,String appid);
	/**
	 * 通过域账号查找用户信息
	 * @param empId
	 * @return
	 */
	Account findByEmpId(String empId); 
	/**
	 * 修改手机号码
	 * @param phoneNo
	 * @param oldAccount
	 * @param newAccount
	 * @return
	 */
	Account modifyPhoneNo(String phoneNo,Account oldAccount,Account newAccount);
}
